package com.example.forwardmessages

import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.util.Log
import android.os.Handler

/**
 * 一个空的Activity，仅用于唤醒应用进程
 * 在MIUI等严格的系统中，当其他启动方式失败时使用
 */
class EmptyActivity : Activity() {
    private val TAG = "EmptyActivity"
    private val handler = Handler()
    private val AUTO_FINISH_DELAY = 2000 // 2秒后自动结束

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Log.d(TAG, "EmptyActivity已启动，用于唤醒应用进程")
        
        // 启动MainActivity
        startMainActivity()
        
        // 设置自动结束，避免用户看到这个空页面
        handler.postDelayed({
            finish()
            Log.d(TAG, "EmptyActivity已自动结束")
        }, AUTO_FINISH_DELAY.toLong())
    }
    
    /**
     * 启动应用的主Activity
     */
    private fun startMainActivity() {
        try {
            val intent = Intent(this, MainActivity::class.java)
            intent.addFlags(
                Intent.FLAG_ACTIVITY_NEW_TASK or
                Intent.FLAG_ACTIVITY_CLEAR_TOP or
                Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
            )
            startActivity(intent)
            Log.d(TAG, "通过EmptyActivity成功启动MainActivity")
        } catch (e: Exception) {
            Log.e(TAG, "通过EmptyActivity启动MainActivity失败: ${e.message}")
        }
    }
    
    override fun onDestroy() {
        super.onDestroy()
        handler.removeCallbacksAndMessages(null) // 清理所有回调
    }
}